#ifndef MUSIC_H
#define MUSIC_H

#include<QString>
#include<QUuid>
#include<QUrl>
#include<QSqlDatabase>

class Music
{
public:
    Music();
    Music(const QUrl& Url);
    void setMusicName(const QString& musicName);
    void setMusicSinger(const QString& musicSinger);
    void setMusicAlumn(const QString& musicAlumn);
    void setMusicTime(qint64 musicTime);
    void setIsLike(bool IsLike);
    void setIsHistory(bool IsHistory);
    void setUuid();
    void setMusicUrl(const QUrl& musicUrl);
    void setMusicId(const QString& musicId);

    void insertToDB(QSqlDatabase );


    QString getMusicId();
    QString getMusicName();
    QUrl getMusicUrl();
    QString getMusicSinger();
    QString getMusicAlumn();
    qint64 getMusicTime();
    bool getIsLike();
    bool getIsHistory();
    //对音乐文件进行解析获取元数据
    void phraseMediaData();
    QString getLrcFilePath();
    //描述音乐的属性
private:
    //QUuid标识音乐的唯一性
    QString musicId;
    QUrl musicUrl;//音乐在磁盘中的路径

    QString musicName;//音乐名
    QString musicSinger;//歌手名
    QString musicAlumn;//音乐专辑名称
    qint64  musicTime;//音乐的总时间 ms
    QString lrcFilePath;
    bool IsLike;//标记该歌曲是否为喜欢
    bool IsHistory;//标记该歌曲是否为历史播放


};

#endif // MUSIC_H
